// 实现一个浏览器历史记录对象，支持访问地址、前进、后退功能，具体要求：
// 1、	BrowserHistorySys(string homepage, int maxCount) — 初始化。homepage作为当前页，并缓存到浏览历史中；浏览历史中最多缓存maxCount个网页
// 2、	visit(string url) — 跳转访问页面url，返回访问后浏览历史中的缓存页面数量。
// 	如果入参 url 仍是当前页，则继续浏览此页面，即：当前页不变，且浏览历史也不变；
// 	如果入参 url 不是当前页，则跳转到此 url，并把此 url 页面作为当前页； 同时清除浏览历史中原当前页的前进记录，再将此 url 缓存到浏览历史中。
// 	如果新增缓存后，浏览历史缓存页面数量超过 maxCount, 则清除浏览历史中最早的记录。
// 3、	back() — 在浏览历史中从当前页后退一步，返回停留页面的 url，并作为当前页。
// 	如果已退无可退，则不再后退，继续停留在当前页。
// 4、	forward() — 在浏览历史中从当前页前进一步，返回停留页面的 url，并作为当前页。
// 	注：如果已进无可进，则不再前进，继续停留在当前页。
// 输入：
// BrowserHistorySys("w3.huawei.com", 10)
// visit("google.com")
// back()
// forward()
// forward()
// visit("baidu.com")
// visit("youtube.com")
// back()
// visit("baidu.com")
// back()
// visit("mails.huawei.com")
// 输出：
// Null
// 2
// "w3.huawei.com"
// "google.com"
// "google.com"
// 3
// 4
// "baidu.com"
// 4
// "google.com"
// 3


class BrowserHistorySys {
    constructor(homepage, maxCount) {
        this.homePage = homepage
        this.maxCount = maxCount
        this.history = [homepage]
        this.currentIndex = 0

    }

    visit(chuanRuPage) {
        if (this.homePage == chuanRuPage) {

        } else {
            let finedI = this.history.findIndex((item) => item == chuanRuPage)
            if (finedI >= 0) {
                this.currentIndex == finedI
                this.homePage = chuanRuPage
                this.history = this.history.slice(0, finedI)
            } else {
                if (this.currentIndex < this.history.length - 1) {
                    this.history = this.history.slice(0, this.currentIndex + 1)
                }
                this.homePage = chuanRuPage
                this.history.push(chuanRuPage)
                this.currentIndex = this.currentIndex + 1
            }
        }
        if (this.history.length > this.maxCount) {
            this.history.shift()
        }

        console.log(this.history.length)
    }
    back() {
        if (this.currentIndex <= 0) {
        } else {
            this.currentIndex = this.currentIndex - 1
            this.homePage = this.history[this.currentIndex]
        }
        // console.log('back', this.currentIndex)

        console.log(this.homePage)


    }
    forward() {
        if (this.currentIndex >= this.history.length - 1) {
        } else {
            this.currentIndex = this.currentIndex + 1
            this.homePage = this.history[this.currentIndex]
        }
        console.log(this.homePage)
        // console.log('forward', this.currentIndex)

    }

}

let myBro = new BrowserHistorySys("w3.huawei.com", 10)
myBro.visit("google.com")
myBro.back()
myBro.forward()
myBro.forward()
myBro.visit("baidu.com")
myBro.visit("youtube.com")
myBro.back()
myBro.visit("baidu.com")
myBro.back()
myBro.visit("mails.huawei.com")

// [w3, goo,bai, you]

